The internal device JOINT is achieved to manage multiple axes (max. 3) in linear interpolation connected. The interpolation is done through tiny movements determined by programmed points.
You can also move the axes individually and execute the homing procedure. The placement of axes runs under a P.I.D. reaction control that guarantees the accuracy by reducing the tracking error.
In the configuration unit, the BUS section must be declared so that you have the hardware resources necessary for the use of the JOINT device.
There must be at least a bi-directional counter and an analog output implemented with 16-bit resolution DAC. The device can also use a digital input and a digital input for interruption for homing operation.
In the INTDEVICE section of the configuration unit must be add the following definition:
;---------------------------------
; Internal device declaration
;---------------------------------
INTDEVICE
..
<device_name> JOINT TCamp NAxis Buffer
IContX IntLX IAZeroX IoutAX
IContY IntLY IAZeroY IoutAY
IContZ IntLZ IAZeroZ IoutAZ
IOut1 IOut2 IOut3 IOut4
Where:
| <device_name> | the name assigned to the device |
| JOINT | keyword that identifies the device, |
| TCamp | sample time device (1÷255 ms) |
| NAxis | number of axes enabled to the interpolation (2÷3) Note: the number of axes is going to affect both the performance and on the amount of memory used |
| Buffer | step number available in the buffer (3÷30000) |
| Axis X | |
|---|---|
| IContX | bidirectional counter input (to prevent the device uses this resource enter the X.X characters) |
| IntLX | number of digital input for dedicated encoder zero pulse break during the research phase of presets. (to prevent the device uses this resource enter the X character) |
| IAZeroX | enable input for transducer zero pulse acquisition during homing research phase (to prevent the device uses this resource enter the X.X characters) |
| IoutAX | hardware address of the analog output (to prevent the device uses this resource enter the X.X characters) |
| Axis Y | |
| IContY | bidirectional counter input (to prevent the device uses this resource enter the X.X characters) |
| IntLY | number of digital input for dedicated encoder zero pulse break during the research phase of presets. (to prevent the device uses this resource enter the X character) |
| IAZeroY | enable input for transducer zero pulse acquisition during homing research phase (to prevent the device uses this resource enter the X.X characters) |
| IoutAY | hardware address of the analog output (to prevent the device uses this resource enter the X.X characters) |
| Axis Z | |
| IContZ | bidirectional counter input (to prevent the device uses this resource enter the X.X characters) |
| IntLZ | number of digital input for dedicated encoder zero pulse break during the research phase of presets. (to prevent the device uses this resource enter the X character) |
| IAZeroZ | enable input for transducer zero pulse acquisition during homing research phase (to prevent the device uses this resource enter the X.X characters) |
| IoutAZ | hardware address of the analog output (to prevent the device uses this resource enter the X.X characters) |
| Digital outputs | |
| IOut1 | hardware address of the digital output OUT1 |
| IOut2 | hardware address of the digital output OUT2 |
| IOut3 | hardware address of the digital output OUT3 |
| IOut4 | hardware address of the digital output OUT4 |
![]() | Attention: It is necessary that each definition are present on the same line. In case you do not want to assign a resource, such as IAZeroX, you must enter in the appropriate field the X.X string |
|---|
The JOINT device adds to the capabilities of analog positioner EANPOS (see see the documentation for more details) the possibility to make a movement interpolated axes (max. 3). By this we mean that you get a chance, using the axes, to execute a movement from one point in space (3 dimensions) to another along a line (not necessarily straight line) or a preset path.
Moreover, the device can calculate a fillet between two lines with different slopes according to some programmable modes.
The device includes a trajectory-generating function (also called velocity profile). This generates a piece of information that is appropriately converted to a proportional voltage signal via the analog output to operate the motor and therefore the axis connected to bring it to the desired position.
If the motor system was ideal would follow perfectly the velocity profile created and you would bring to the position given by the integral of the velocity profile. Actually this doesn't happen and you need to top it all with a chain of feedback. The transducer that detects the position of the axis is typically digital, typically an encoder (we'll call it always bi-directional meter).
The information provided by the transducer is used to make a comparison between the current position and the theoretical position. This comparison allows to know the current error and the PID controller can use this information to modify the output and get the error condition zero. The regulator used implements four types of actions. The block diagram of the regulator is as follows:
![]() | The output PID + FF controller is a value between -32768 and 32767. This is used by the analogue output to generate the adjusting voltage. Typically the analogue output is implemented by a DAC device that converts the digital information in a tension between -10 Volt and +10 Volt. For every action the regulator calculates a coefficient inside to ensure that the value generated has a significant for the analog output. |
|---|
This control action establishes a relationship of direct proportionality between the tracking error (follerr) and the output value to the controller. The parameter proportional gain pgain (user-settable) defines the degree of proportional controller; It is expressed in milliseconds for which to set a gain of 0.5 you should enter the value 500.
The rule establishing the output value (propreg) is: with unitarian gain (pgain), the control output will be maximum when the tracking error is equal to the space that is executing the axis at the maximum speed in a sampling time of the device. It is important to note that due to the rule that you just described, there is a link between the proportional and the sampling time of the device. Also note that when the error is null even proportional control output is nothing.
The integral controller of PID controller calculates the integral of position error on a time interval user-settable with integt parameter (expressed in ms). The output signal is updated in a particular way: whenever the supplement from an output value that is added to the value that is on the register, then it will continue to increase or decrease (depending on the sign of the error). The output value is calculated as follows: with unit proportional gain, the integration time (integt) is the time it takes for the output (intreg) reaches the proportional output value (propreg). From this last statement shows that the integral action is related to the proportional controller.
The derivative action “anticipates” the system behavior of the system being monitored. The output produced is proportional to the change of the input signal (that is the position error). The magnitude of the derivative effect is adjustable via the parameter time derivative derivt. Computing the derivative action is based on the following convention: the derivative time is the time it takes for error constant variation, the derivative output (derreg parameter) reaches a value equal to the proportional output. As for the integral action shows that even for the derivative action is there a link with the proportional action. More higher the time of derivation of error and more faster the transient error recovery system. It is evident that the derivative action may never be used alone because in the presence of constant mistakes its effect would be null.
In summary: the proportional action has the effect of increasing the rate of reaction of the system, it also reduces, but does not completely eliminate, the error. The integral action leads to clear the error, but lengthens the transitional times. Derivative control increases the stability of the system, reducing overshoot and reducing transitional times.
In addition to the PID controller There is also then feed-forward actio: It generates an output proportional to the value of theoretical speed determined by the trajectory generator (as you can tell from the name doesn't exploit any tracking error feedback). Its function is to reduce the system response time by providing a release already nearby to that which provides the speed profile. The contribution of this action is adjustable via the feedfw parameter: This parameter is expressed as a portion of millesimal theoretical speed (so to introduce, for example, 98.5% it's necessary set the 985 value).
This chapter describes the method by which the device searches the home position (also called zero axis or mark point). There are various ways to do this research and these use different movements and hardware resources.
Homing function must be properly configured before it is used. In particular the prsmode parameter defines the way in which the device searches the home position. This parameter also defines the hardware resources necessary to search and how to move. You must then configure the search speed. Typically an high speed (expressed from the prsvel parameter) is used to search for the activation of the enable input and a lower speed (expressed from the sprsvel parameter) is used to search the home position. Can be derived from the zero of the bi-directional counter or from the disable of the enable digital input.
We illustrate now the various ways to search for the location of home:
This mode involves the movement of axis and only enabling digital input. To the deactivation of the digital input the location of the axis takes the value in the prspos parameter. You later disable the st_prson state and enable the st_prsok state to report the end of search. This state remains active until launching a new search procedure.
In the picture it was shown the function pirnciple highlighting the differences in the case of opposite directions of motion.
This mode involves the movement of the axis and the additional use of the bidirectional counter zero. To the deactivated of the enable digital input is enable the reading of the first enable of the zero input and on this signal the position of the axis takes the value in the prspos parameter. You later disable the st_prson status and is active the st_prsok state to signal the end of search. This state remains active until launching a new search procedure.
In the picture is shown the operating principle of highlighting the differences in the case of opposite directions of motion
This mode does not provide for the moving of the axis and uses only the enabling digital input. If the input is activated, the position of the axis takes the value in the prspos parameter.
![]() | • When you set the search speed of the zero (sprsvel parameter) we must consider that the mode 0 the input has a hardware filter that delays the acquisition and so this delay affects the accuracy of the loading. In mode 1 instead acquiring execute on digital input for interruption and the speed of the movement is not determinative. But we must ensure that the operating time of the zero-pulse is sufficient to be acquired from the input. To know the times of acquisition of digital inputs and the minimum time zero pulse signal refer to the technical documentation of the used cards. • If during the first movement of research of the enable input (executed at the prsvel speed) is given again the PRESET command, the direction of movement is inverted. • After loading the homing offset in the current position, automatically commanded a placement at the homing offset quota. |
|---|---|
![]() | When moving home positioning the maxpos and minpos software limits aren't enabled. |
The PRESET and RSPRSOK commands manage the homing function. The first must be used to initiate a search of the home position or to reverse the direction of research during the first movement at prsvel speed. The second command should be used instead to clear the st_prsok state. This state can be used by the application to know if a homing function has been completed successfully. The RSPRSOK command it can be used in the case that intervening events that invalidate the current position value (for example a break of the bi-directional counter, manual introduction of a value in the current position). The application (that monitorize the st_prsok state) will require a new homing search.
The st_prson state should be used to determine if the function is active homing. The st_still state cannot be used because the movement is composed of multiple placements and this state would indicate stationary axis at the end of each movement.
See the states chart:
The prspos parameter should be used to express the distance between home and the location where the homing function. If they match then the parameter should be set to zero. See a chart:
Normally the posit and encoder parameters represent the absolute position of the axis. There are some applications where these parameters must represent a relative information. These can be for example circular axes (posit must express an angular size) or a valve controller to the respective quotas. To make posit information relating you must edit its value; Although there is the possibility of writing to that parameter, the operation is not recommended for two reasons:
To do this there is the DELCNT command that allows you to change the posit a value that can be set with delcnt parameter.
For example, suppose you have configured pulse and measure so that the location is expressed in tenths of a degree. If posit expresses the angular position and we want this is always between zero and 360 degrees we should add the following code:
IF Axis:posit GE 3600 Axis:delcnt = -3600 DELCNT Axis ENDIF
It is wrong to use the following code:
IF Axis:posit GE 3600 Axis:posit = Axis:posit - 3600 ENDIF
For the conditions of execution of the command, see the decriptions.
The DELCNT command function is assured even in the event that a unit of measure is not expressible in a finite number of impulses. For example with the measure = 1000 and pulse = 1024 parameters, the value 3600 in the preceding example corresponds to 3686.4 pulses. Thanks to a sophisticated algorithm inside the device fails to consider the fractional part of this value and through internal batteries it becomes part of the information used to change the posit valuee.
For example, the following setting: pulse = 10, measure = 1. For example the reading of the position of the axis is 2 and you are at point A. You want to add to the position posit two units of measure.
With instructions:
Axis:posit = Axis:posit + 2
the axis takes the new position B.
With instructions:
Axis:delta = 2 DELCNT Axis
C position is reached.
Note that if you change it directly the posit without using the delta function (as in the first example) an error is introduced.
![]() | Se si devono inviare comandi DELCNT in successione, è conveniente calcolare la grandezza da sommare ed inviare una sola volta il comando. Se ciò non fosse possibile bisogna prestare attenzione a non inviare comandi successivi senza interporre una istruzione di lettura su parametro device. Esempio:Axis:delta = 3 DELCNT Axis WAIT Axis:delta Axis:delta = 40 DELCNT Axis |
|---|
The device allows a positioning by connecting pairs of points with fees and making the connection by changing the slope of the first line to reach the slope of the second line. Doing it this way you will calculate a curve that join without being hard moved and trajectories of two lines. An example is shown in picture.
The device in this situation generates two trajectories that will merge together between a line and the other. To obtain a greater homogeneity of the resulting movement was chosen to keep the acceleration and deceleration time equal to each axis, programmable with a single variable. Otherwise it could happen that the resulting trajectory is what you want.
If the coordinates exceed maximum and minimum dimensions set as the limit of the axes, the system will position itself on these limits.
If you make the connections so you get circular figures, It is good to set mxlrvelASSE variables equal to prevent various interpolation between the limits of speed mxlrvel of any axes.
Note: What has been described is also valid for three-axis movement.
Durante il posizionamento è possibile variare la velocità d'interpolazione senza influenzare la posizione da raggiungere. Questa operazione può determinare un aumento o una diminuzione della velocità di ogni asse: se un asse raggiunge il suo limite massimo, allora la velocità globale d'interpolazione non potrà essere superiore.
L'operazione di cambio di velocità non è detto avvenga immediatamente, ma solamente quando tutte le condizioni necessarie sono soddisfatte.
Anche il tempo di accelerazione/decelerazione dell'interpolazione (tacci) è soggetto ai limiti imposti dai diversi assi: esso dev'essere uguale o maggiore del massimo tempo di accelerazione e decelerazione di tutti gli assi.
II device, quando attiva effettua un movimento in interpolazione mediante il comando STARTPRG, prevede l'utilizzo del Buffer di programma contenente le coordinate degli assi relative ai punti che devono essere raccordati.
L'introduzione delle quote può avvenire sia in forma assoluta che incrementale, rispetto alla posizione precedente (setposASSE), in base alla scelta del parametro prgmode.
Per ogni passo di programma è anche disponibile una variabile code i cui valori sono compresi tra 0 e 65536.
Il significato della variabile code è riportato nella seguente tabella:
| Valore | Descrizione | |||||
|---|---|---|---|---|---|---|
| 0 | Nessuna operazione | |||||
| 1÷1000 | Override di velocità (espresso in decimi di punti percentuali rispetto setveli) | |||||
| 2000÷6999 | Esegue un arresto del posizionamento (utilizzando una rampa di decelerazione) quindi attende un intevallo di tempo (espresso in millisecondi) pari al valore del campo code - 2000, quindi riprende il posizionamento con una rampa di accelerazione verso il punto successivo. | |||||
| 10000÷100015 | Riporta lo stato delle uscite OUT1, OUT2, OUT3, OUT4 Il valore risultante della sottrazione di 10000 alla variabile code è un valore compreso tra 0 e 15 che indica lo stato delle 4 uscite secondo il seguente schema: |
|||||
| OUT4 | OUT3 | OUT2 | OUT1 | code- 10000 | code | |
| 0 | 0 | 0 | 0 | 0 | 10000 | |
| 0 | 0 | 0 | 1 | 1 | 10001 | |
| 0 | 0 | 1 | 0 | 2 | 10002 | |
| 0 | 0 | 1 | 1 | 3 | 10003 | |
| 0 | 1 | 0 | 0 | 4 | 10004 | |
| 0 | 1 | 0 | 1 | 5 | 10005 | |
| 0 | 1 | 1 | 0 | 6 | 10006 | |
| 0 | 1 | 1 | 1 | 7 | 10007 | |
| 1 | 0 | 0 | 0 | 8 | 10008 | |
| 1 | 0 | 0 | 1 | 9 | 10009 | |
| 1 | 0 | 1 | 0 | 10 | 10010 | |
| 1 | 0 | 1 | 1 | 11 | 10011 | |
| 1 | 1 | 0 | 0 | 12 | 10012 | |
| 1 | 1 | 0 | 1 | 13 | 10013 | |
| 1 | 1 | 1 | 0 | 14 | 10014 | |
| 1 | 1 | 1 | 1 | 15 | 10015 | |
Perché un'interpolazione possa iniziare, mediante i comandi STARTI o STARTPRG, è necessario che vengano rispettate le seguenti condizioni di partenza:
| Nome | Dimensione | Valore di default | Tipo di accesso | Unità di misura | Range valido | Condizioni di scrittura | Descrizione | |
|---|---|---|---|---|---|---|---|---|
| prgmode | Byte | Ritentivo | RW | - | 0÷1 | st_ipolar=0 | Modo di setup delle quote di programma Definisce il modo di setup della memoria programmi: 0: le quote vengono indicate come valore assoluto, 1: le quote vengono indicate come valore incrementale. |
|
| maxveli | Long | 0 | R | Uv | 0÷999999 | - | Velocità massima in interpolazione Definisce la massima velocità di interpolazione nell'unità di misura della velocità impostata. Il valore è calcolato automaticamente in funzione delle velocità massime degli assi X, Y e Z. |
|
| tacci | Word | Ritentivo | RW | centesimi di secondo | 0÷999 | st_ipolar=0 | Tempo di accelerazione e decelerazione in interpolazione Definisce il tempo impiegato dagli assi interpolati per portarsi da fermi alla velocità massima e da velocità massima a zero (condizione di asse fermo). Viene utilizzato solamente durante i movimenti interpolati. |
|
| setveli | Long | Ritentivo | RW | Uv | 1÷maxveli | - | Impostazione della velocità in interpolazione Definisce la velocità d'interpolazione e può essere variato anche durante l'interpolazione. Il valore non deve superare maxvelx o maxvely o maxvelz. Se duranti i calcoli una componente supera il valore massimo ricalcolabile (mxrlvelx o mxrlvely o mxrlvelz), viene eseguita la riduzione della velocità d'interpolazione in modo da soddisfare tale condizione. |
|
| minspINT | Long | 0 | R | Um | - | - | Spazio minimo in interpolazione a velocità costante (parte intera) Indica la spazio minimo che può essere effettuato in interpolazione, tale valore è calcolato in funzione della velocità (setveli) e dei tempi di accelerazione e decelerazione (tacci) dell'interpolazione. Il valore è espresso nella variabile minspINT (parte intera) e minspFRAC (parte frazionaria). |
|
| minspFRAC | Word | 0 | R | - | - | - | Spazio minimo in interpolazione a velocità costante (parte frazionaria) Rappresenta la parte frazionaria del parametro minspINT, è espressa come parte frazionaria * 65535. |
|
| mxrlvelx | Long | Ritentivo | RW | Uv | 0÷maxvelx | st_ipolar = 0 | Massima velocità asse X per spostamenti con interpolazione Nel caso di spostamenti con interpolazione definisce la velocità massima raggiungibile dall'asse X. Nel caso in cui la velocità dell'asse superi questo valore è applicata una riduzione della velocità di interpolazione segnalata con l'attivazione dello stato st_rvel. |
|
| mxrlvely | Long | Ritentivo | RW | Uv | 0÷maxvelx | st_ipolar = 0 | Massima velocità asse Y per spostamenti con interpolazione Nel caso di spostamenti con interpolazione definisce la velocità massima raggiungibile dall'asse Y. |
|
| mxrlvelz | Long | Ritentivo | RW | Uv | 0÷maxvelx | st_ipolar = 0 | Massima velocità asse Z per spostamenti con interpolazione Nel caso di spostamenti con interpolazione definisce la velocità massima raggiungibile dall'asse Z. |
|
| stepbeg | Word | 0 | RW | - | 0÷30000 | - | Numero del passo di inizio programma di interpolazione Indica il numero di passo da cui inizierà il programma di interpolazione con il comando STARTPRG. Se viene posto a 0, il device eseguirà un ciclo continuo da 1 a stepend. Modificando da 0 a 1 il valore durante l'interpolazione l'interpolazione terminerà quando stepexe raggiungerà stepend. |
|
| stepend | Word | 0 | RW | - | 1÷30000 | - | Numero del passo di fine programma di interpolazione Indica il numero di passo a cui terminerà il programma di interpolazione iniziato con il comando STARTPRG. |
|
| stepexe | Word | 0 | R | - | 1÷30000 | - | Numero del passo in esecuzione del programma di interpolazione Indica il numero del passo in esecuzione durante l'interpolazione iniziata con il comando STARTPRG. |
|
| stepin | Word | 0 | RW | - | 1÷30000 | - | Numero del passo da memorizzare Indica il numero del passo da memorizzare con il comando WRITESTEP o leggere con il comando READSTEP. |
|
| stepout | Word | 0 | RW | - | 1÷30000 | - | Esito della procedura di lettura o scrittura passo Quando l'esecuzione del comando WRITESTEP o READSTEP ha avuto buon esito stepout avrà lo stesso valore di stepin. |
|
| stepnum | Word | 0 | RW | - | 1÷4 | - | Numero di passi presi in considerazione da READSTEP o WRITESTEP Indica il numero di passi che vengono letti o scritti dai comandi READSTEP o WRITESTEP. |
|
| codexI | Long | 0 | RW | - | 0÷10015 | - | Codice asse X per il passo I Indica la coordinata dell'asse X nel passo in lettura o scrittura numero I (I = 1÷8). |
|
| codeyI | Long | 0 | RW | - | 0÷10015 | - | Codice asse Y per il passo I Indica la coordinata dell'asse Y nel passo in lettura o scrittura numero I (I = 1÷8). |
|
| codezI | Long | 0 | RW | - | 0÷10015 | - | Codice asse Z per il passo I Indica la coordinata dell'asse Z nel passo in lettura o scrittura numero I (I = 1÷8). |
|
| codestpI | Word | 0 | RW | - | 0÷10015 | - | Codice passo numero I Indica il valore relativo al codice passo numero I (I = 1÷8). Se zero, il valore viene ignorato. |
|
| errcode | Byte | 0 | RW | - | 0÷100 | - | Codice di identificazione errore Indica il tipo di errore intervenuto nel sistema. Quando st_error = 1 si trova presente sulla variabile errcode il tipo di errore intervenuto e nella variabile errvalue una indicazione sulla causa dell'errore. Se il device va in errore, per riprendere la lavorazione bisogna cancellare lo stato st_error attraverso il comando RSERR. La seguente tabella specifica i valori assunti dalla variabile errcode: |
|
| Codice | Descrizione | |||||||
| 1 | È stato rilevato un errore nei calcoli durante l'interpolazione. Quando si verifica questa condizione, l'interpolazione viene immediatamente interrotta. |
|||||||
| errvalue | Byte | 0 | RW | - | 0÷100 | - | Codice di identificazione della causa dell'errore Per mezzo della variabile errvalue è possibile ottenere informazioni più dettagliate riguardo l'errore segnalato. La seguente tabella specifica i valori assunti dalla variabile errvalue: |
|
| Codice | Descrizione | |||||||
| 1 | Questo errore è segnalato quando per 5 passi consecutivi lo spostamento del punto di interpolazione è risultato 0. | |||||||
| 2 | È stata richiesta un'operazione non valida. | |||||||
| 3 | Durante il calcolo dello spostamento del punto di interpolazione è avvenuto un overflow. | |||||||
| 10 | Superamento quota massima asse X. La quota di posizionamento calcolata, è maggiore della quota massima impostata. | |||||||
| 11 | Superamento quota massima asse Y. La quota di posizionamento calcolata, è maggiore della quota massima impostata. | |||||||
| 12 | Superamento quota massima asse Z. La quota di posizionamento calcolata, è maggiore della quota massima impostata. | |||||||
| 13 | Superamento quota minima asse X. La quota di posizionamento calcolata, è minore della quota minima impostata. | |||||||
| 14 | Superamento quota minima asse Y. La quota di posizionamento calcolata, è minore della quota minima impostata. | |||||||
| 15 | Superamento quota minima asse Z. La quota di posizionamento calcolata, è minore della quota minima impostata. | |||||||
| wrncode | Byte | 0 | RW | - | 0÷100 | - | Codice di identificazione warning Indica il tipo di warning intervenuto nel sistema. Lo stato st_warning indica un evento non grave che garantisce comunque il funzionamento del device. Quando st_warning è uguale a 1, troviamo presente sulla variabile wrncode il tipo di warning intervenuto (vedi tabella) e nella variabile wrnvalue una indicazione sulla causa che ha provocato il warning. Per cancellare lo stato st_warning bisogna inviare il comando RSWRN. La seguente tabella specifica i valori assunti dalla variabile wrncode: |
|
| Codice | Descrizione | |||||||
| 1 | Comando non eseguito | |||||||
| 2 | Non è possibile eseguire la scrittura del parametro perché è attiva l'interpolazione. | |||||||
| 16÷31 | Codice riferito ad asse X | |||||||
| 32÷47 | Codice riferito ad asse Y | |||||||
| 48÷63 | Codice riferito ad asse Z | |||||||
| wrnvalue | Byte | 0 | RW | - | 0÷100 | - | Codice di identificazione della causa del warning Per mezzo della variabile wrnvalue è possibile ottenere informazioni più dettagliate riguardo l'errore. |
|
| Nome | Dimensione | Valore di default | Tipo di accesso | Unità di misura | Range valido | Condizioni di scrittura | Descrizione | |
|---|---|---|---|---|---|---|---|---|
| measurex | Long | Ritentivo | RW | Um | 1÷999999 | st_ipolar = 0, st_prsonx = 0, st_stillx = 1 | Misura di riferimento per il calcolo del fattore di conversione tra impulsi primari ed unità di misura per l'asse X Indica lo spazio, in unità di misura, percorso dall'asse X per ottenere gli impulsi primari impostati nel parametro pulsex. Questo parametro è utilizzato per il calcolo del fattore di conversione tra impulsi primari ed unità di misura. positx = encoderx * measurex / pulsex Il rapporto measurex/pulsex deve avere un valore compreso tra 0.00935 e 1. |
|
| pulsex | Long | Ritentivo | RW | - | 1÷999999 | st_ipolar = 0, st_prsonx = 0, st_stillx = 1 | Numero di impulsi primari per il calcolo del fattore di conversione tra impulsi primari e unità di misura per l'asse X Indica il numero di impulsi primari che genererà il trasduttore bidirezionale per ottenere un movimento pari a measurex. Questo parametro è utilizzato per il calcolo del fattore di conversione tra impulsi primari ed unità di misura. positx = encoderx * measurex / pulsex Il rapporto measurex/pulsex deve avere un valore compreso tra 0.00935 e 1. |
|
| decptx | Byte | Ritentivo | RW | - | 0÷3 | st_ipolar = 0, st_prsonx = 0, st_stillx = 1 | Scelta dell'unità di misura della velocità dell'asse X L'unità di misura della velocità dipende dai parametri unitvelx e decptx. Tramite decptx si stabilisce se impostare i valori di velocità in multipli dell'unità di misura fondamentale Um. Ad esempio, se l'unità di misura fondamentale Um=mm, ed unitvel=1 si ottiene la visualizzazione della velocità nella variabile vel in: mm/s (con decpt = 0), cm/s (con decpt = 1), dm/s (con decpt = 2), m/s (con decpt = 3). |
|
| unitvelx | Byte | Ritentivo | RW | - | 0÷1 | st_ipolar = 0, st_prsonx = 0, st_stillx = 1 | Unità di tempo per il calcolo della velocità Definisce l'unità di misura della velocità: 0: Um/min, 1: Um/sec. |
|
| maxposx | Long | Ritentivo | RW | Um | -999999÷999999 | st_stillx=1 | Quota massima raggiungibile dall'asse X Definisce la massima quota raggiungibile dall'asse X: il valore impostato è da considerarsi anche come limite massimo per l'introduzione delle quote di programma. |
|
| minposx | Long | Ritentivo | RW | Um | -999999÷999999 | st_stillx=1 | Quota massima raggiungibile dall'asse X Definisce la minima quota raggiungibile dall'asse X: il valore impostato è da considerarsi anche come limite minimo per l'introduzione delle quote di programma. |
|
| prsposx | Long | Ritentivo | RW | Um | minpos÷maxpos | st_stillx=1, st_prsonx=0 | Homing offset asse X Rappresenta l'homing offset cioè la distanza tra la posizione di home e la posizione dove termina la funzione di homing per l'asse X. |
|
| maxvelx | Long | Ritentivo | RW | Uv | 0÷999999 | st_ipolar = 0, st_prsonx = 0, st_stillx = 1 | Velocità massima asse X Definisce la massima velocità dell'asse X, ovvero la velocità assunta quando la tensione erogata è pari a ± 10V. Il valore introdotto è nell'unità di misura impostata tramite il parametro unitvelx. |
|
| prsvelx | Long | Ritentivo | RW | Uv | 0÷maxvelx | st_stillx=1, st_prsonx=0 | Velocità per la ricerca dell'attivazione ingresso digitale di abilitazione per l'asse X Velocità per ricercare l'attivazione dell'ingresso digitale di abilitazione. Il valore introdotto è nell'unità di misura impostata tramite il parametro unitvel. |
|
| sprsvelx | Long | Ritentivo | RW | Uv | 0÷maxvelx | st_stillx=1, st_prsonx=0 | Velocità utilizzata per la ricerca della posizione di home per l'asse X Definisce la velocità utilizzata per la ricerca della posizione di home. Questa può essere data dall'ingresso di zero del contatore bidirezionale oppure dalla disattivazione dell'ingresso digitale di abilitazione (dipende dal valore del parametro prsmodex). Il valore introdotto è nell'unità di misura impostata tramite il parametro unitvelx. |
|
| tollx | Long | Ritentivo | RW | Um | -999999÷999999 | - | Tolleranza asse X Definisce una fascia di tolleranza intorno alle quote di posizionamento. Quando il posizionamento si conclude entro tale fascia allora viene posto a 1 lo stato st_tollx. Esiste un tempo di verifica per assicurare che l'asse abbia assunto una posizione stabile all'interno della fascia. Questo tempo è espresso dal parametro toldlyx. |
|
| maxfollerrx | Long | Ritentivo | RW | Impulsi primari | 0÷2147483648 | - | Massimo errore d'inseguimento per l'asse X Definisce il massimo scostamento accettabile tra la posizione teorica e la posizione attuale dell'asse X. E' utilizzato per la gestione di st_follerx. |
|
| mxrlvelx | Long | Ritentivo | RW | Uv | 0÷maxvelx | - | Massima velocità asse X in interpolazione Nel caso di posizionamenti con interpolazione, definisce la massima velocità raggiungibile dall'asse X. |
|
| rampmodex | Byte | Ritentivo | RW | - | 0÷1 | - | Scelta differenziazione tra rampe di accelerazione e decelerazione per l'asse X Utilizzato per la scelta tra rampe d'accelerazione e decelerazione uguali (utilizzo del parametro taccdecx) o differenziate (utilizzo dei due parametri taccx e tdecx). 0: rampe uguali, 1: rampe differenziate.
Nota: |
|
| ramptypex | Byte | Ritentivo | RW | - | 0÷3 | st_stillx=1 | Tipo di rampa asse X Definisce il tipo di rampa da eseguire per l'asse X: 0: accelerazione e decelerazione di tipo trapezoidale, 1: accelerazione e decelerazione di tipo epicicloidale, 2: accelerazione di tipo trapezoidale e decelerazione di tipo epicicloidale, 3: accelerazione di tipo epicicloidale e decelerazione di tipo trapezoidale. Descrizione del movimento epicicloidale Il movimento epicicloidale (ramptypex=1) viene utilizzato per movimentare gli assi senza brusche variazioni di velocità. Naturalmente il tempo di posizionamento di un asse movimentato con le rampe trapezoidali sarà inferiore, ma l'usura meccanica aumenta. Per confronto è mostrata la differenza del tempo d'accelerazione nei due casi mantenendo costante il gradiente massimo d'accelerazione (il comportamento per le rampe di decelerazione è lo stesso). ![]() Il movimento epicicloidale ha la possibilità di comportarsi in modi diversi nel caso di riduzione di profilo (rtypex) e nel caso di stop durante la rampa di accelerazione (stoptx). |
|
| taccdecx | Word | Ritentivo | RW | centesimi di secondo | 0÷999 | st_ipolar = 0, st_prsonx = 0, st_stillx = 1 | Tempo di accelerazione e decelerazione asse X È il tempo necessario per passare da velocità 0 a velocità massima (maxvelx) e viceversa; il parametro è utilizzato se rampmodex = 0. Cambio tempo di rampa in movimento Durante il posizionamento possono essere variati i tempi di accelerazione e decelerazione. Per esempio il device può avviare un posizionamento con una rampa molto lunga e, una volta raggiunta la velocità impostata, viene variato il tempo di decelerazione ed eseguito un cambio di velocità con una rampa molto lunga. Per applicazioni particolari e alla presenza di rampe trapezoidali, il tempo può essere modificato anche durante una variazione di velocità, in tal caso il nuovo tempo è utilizzato immediatamente. La scrittura nei parametri di accelerazione e decelerazione è sempre abilitata ma il nuovo valore verrà utilizzato solo se il generatore profilo può raggiungere la posizione impostata. In caso contrario il nuovo valore verrà messo in esecuzione al successivo posizionamento. |
|
| taccx | Word | Ritentivo | RW | centesimi di secondo | 0÷999 | - | Tempo di accelerazione asse X È il tempo necessario per passare da velocità 0 a velocità massima. Viene utilizzato quando rampmodex=1. Cambio tempo di rampa in movimento Durante il posizionamento possono essere variati i tempi di accelerazione e decelerazione. Per esempio il device può avviare un posizionamento con una rampa molto lunga e, una volta raggiunta la velocità impostata, viene variato il tempo di decelerazione ed eseguito un cambio di velocità con una rampa molto lunga. Per applicazioni particolari e alla presenza di rampe trapezoidali, il tempo può essere modificato anche durante una variazione di velocità, in tal caso il nuovo tempo è utilizzato immediatamente. La scrittura nei parametri di accelerazione e decelerazione è sempre abilitata ma il nuovo valore verrà utilizzato solo se il generatore profilo può raggiungere la posizione impostata. In caso contrario il nuovo valore verrà messo in esecuzione al successivo posizionamento. |
|
| tdecx | Word | Ritentivo | RW | centesimi di secondo | 0÷999 | - | Tempo di decelerazione asse X È il tempo necessario per passare dalla massima velocità a velocità 0. Viene utilizzato quando rampmodex=1. Cambio tempo di rampa in movimento Durante il posizionamento possono essere variati i tempi di accelerazione e decelerazione. Per esempio il device può avviare un posizionamento con una rampa molto lunga e, una volta raggiunta la velocità impostata, viene variato il tempo di decelerazione ed eseguito un cambio di velocità con una rampa molto lunga. Per applicazioni particolari e alla presenza di rampe trapezoidali, il tempo può essere modificato anche durante una variazione di velocità, in tal caso il nuovo tempo è utilizzato immediatamente. La scrittura nei parametri di accelerazione e decelerazione è sempre abilitata ma il nuovo valore verrà utilizzato solo se il generatore profilo può raggiungere la posizione impostata. In caso contrario il nuovo valore verrà messo in esecuzione al successivo posizionamento. |
|
| rtypex | Byte | Ritentivo | RW | - | 0÷1 | ramptypex=1 | Tipo di riduzione di profilo asse X Questo parametro indica il comportamento del generatore profilo nel caso di posizionamento con rampe epicicloidali in condizioni di non raggiungimento della velocità costante. Il comportamento sarà: 0: i tempi di accelerazione e decelerazione restano quelli già calcolati e viene diminuita proporzionalmente la velocità, 1: vengono diminuiti i tempi di accelerazione e decelerazione e anche la velocità. ![]() ![]() Con il parametro rtypex = 0 si allungano notevolmente i tempi necessari ai posizionamenti piccoli. Se invece il parametro è impostato a 1 si hanno tempi ridotti nel caso di posizionamenti brevi, ma mantenendo il gradiente costante si perdono i benefici di utilizzare una rampa epicicloidale. |
|
| stoptx | Byte | Ritentivo | RW | - | 0÷1 | ramptypex=1 | Modalità di stop asse X Nel caso in cui si utilizzino rampe epicicloidali e si debba frenare l'asse X durante la rampa di accelerazione con il comando STOPX si può scegliere se far completare la rampa oppure se interromperla. Questa scelta viene fatta modificando il parametro stoptx: 0: la rampa di accelerazione viene conclusa e quindi si inizia la rampa di decelerazione, 1: la rampa di accelerazione viene interrotta ed inizia subito la rampa di decelerazione di tipo epicicloidale. ![]() ![]() |
|
| tinvx | Word | Ritentivo | RW | centesimi di secondo | 0÷999 | - | Ritardo per inversione della direzione asse X È un tempo di ritardo introdotto nel caso di inversioni della direzione. Viene utilizzato per evitare stress meccanici dovuti ad inversioni troppo rapide. |
|
| toldlyx | Word | Ritentivo | RW | centesimi di secondo | 0÷999 | - | Ritardo segnalazione di tolleranza asse X Definisce il tempo che intercorre tra l'arrivo dell'asse nella fascia di tolleranza e la relativa segnalazione di stato (st_tollx). |
|
| pgainx | Word | Ritentivo | RW | - | 0÷32767 | - | Guadagno proporzionale asse X È il coefficiente che permette di modificare l'entità dell'azione proporzionale nel regolatore PID. Viene inserito in millesimi (perciò inserendo 1000 il coefficiente sarà pari a 1). |
|
| feedfwx | Word | Ritentivo | RW | - | 0÷32767 | - | Coefficiente di feed forward asse X È il coefficiente percentuale che, moltiplicato per la velocità teorica, genera la parte feed forward dell'uscita di regolazione. Il valore è inserito in decimi (perciò inserendo 1000 la percentuale sarà del 100.0%). |
|
| integtx | Word | Ritentivo | RW | millesimi di secondo | 0÷32767 | - | Tempo di integrazione dell' errore di inseguimento asse X È il parametro che permette di modificare l'entità dell'azione integrale nel regolatore PID. |
|
| derivtx | Word | Ritentivo | RW | millesimi di secondo | 0÷32767 | - | Tempo per il calcolo del coefficiente derivativo dell'errore di inseguimento asse X È il parametro che permette di modificare l'entità dell'azione derivativa nel regolatore PID. |
|
| prsmodex | Byte | Ritentivo | RW | - | 0÷2 | st_ipolar = 0, st_prsonx=0, st_stillx=1 | Modo di ricerca della posizione di home asse X Seleziona il modo di ricerca della posizione di home. I valori possibili sono: 0: senza ingresso di zero del contatore bidirezionale, 1: con ingresso di zero del contatore bidirezionale, 2: homing nella posizione attuale senza movimentazione. |
|
| prsdirx | Byte | Ritentivo | RW | - | 0÷1 | st_prsonx=0 | Direzione di movimento per la ricerca della posizione di home asse X Definisce la direzione del primo movimento durante la ricerca della posizione di home: 0: direzione avanti, 1: direzione indietro. |
|
| offsetx | Word | Ritentivo | RW | bit | -32768÷32767 | - | Offset uscita analogica asse X Definisce il valore in bit della correzione relativa all'uscita analogica in modo da compensare l'eventuale deriva del sistema. |
|
| setposx | Long | Ritentivo | RW | Um | minposx÷maxposx | - | Quota di posizionamento asse X Definisce la quota di posizionamento da raggiungere alla velocità setvelx. Cambio setposx in movimento In alcune applicazioni viene richiesto di definire la quota di destinazione durante il posizionamento, in base a determinati eventi. Questa caratteristica si traduce nella possibilità di scrittura nel parametro setposx anche con posizionamento in corso. Il cambio della quota viene accettato solamente se la nuova posizione è raggiungibile con la direzione di movimento attuale. Nel caso di utilizzo di rampe epicicloidali il cambio quota non viene accettato se st_decx=1 (ovvero se l'asse sta decelerando). ![]() |
|
| setvelx | Long | Ritentivo | RW | Uv | 0÷maxvelx | - | Velocità di posizionamento asse X Stabilisce il valore della velocità di posizionamento. Cambio setvelx in movimento Durante il posizionamento è possibile variare la velocità dell'asse senza influenzare la posizione da raggiungere. Questa operazione può essere fatta anche in più punti dello stesso posizionamento semplicemente modificando il parametro setvelx. Il cambio di velocità è sempre disponibile tranne durante la rampa di decelerazione segnalata da un apposito stato (st_decx = 1). ![]()
Attenzione: |
|
| voutx | Byte | 0 | RW | decimi di Volt | -100÷100 | st_init=1, st_calx=1, st_emrgx = 0 | Tensione di uscita asse X Indica normalmente il valore della tensione fornita dall'uscita analogica, in fase di calibrazione può essere modificato per impostare un valore fisso all'uscita. |
|
| velx | Long | 0 | R | Uv | 0÷maxvelx | - | Velocità asse X È il valore della velocità istantanea dell'asse X. L'aggiornamento è eseguito ogni 250 ms. L'unità di misura della velocità dipende dai parametri unitvelx e decptx. |
|
| frqx | Long | 0 | RW | Hz | - | - | Frequenza dei segnali di ingresso asse X È il valore della frequenza dei segnali in ingresso al contatore bidirezionale. L'aggiornamento è eseguito ogni 250 ms. |
|
| posit | Long | Ritentivo | RW | Um | minpos÷maxpos | st_init=1 | Posizione attuale in unità di misura È il valore della posizione istantanea dell'asse. positx = encoderx * measurex / pulsex Cambio posizione attuale in movimento Durante il posizionamento è possibile modificare il valore della posizione attuale positx. Questa funzione è utilizzata solitamente quando un device deve, in particolari condizioni, continuare un profilo di velocità per un tempo molto lungo, superiore al tempo che l'asse impiega per raggiungere la quota limite (maxposx o minposx). |
|
| encoderx | Long | Ritentivo | RW | Impulsi primari | st_init=1 | - | Posizione attuale asse X in impulsi primari Esprime la posizione attuale in impulsi primari. |
|
| follerrx | Long | 0 | R | Impulsi primari | - | - | Errore d'inseguimento asse X È il valore istantaneo dell'errore d'inseguimento. |
|
| ffwdregx | Long | 0 | R | bit | - | - | Valore dell'uscita feed forward asse X È il valore istantaneo dell'uscita feed forward nel regolatore PID. |
|
| propregx | Long | 0 | R | bit | - | - | Valore dell' uscita proporzionale asse X È il valore istantaneo dell'uscita proporzionale nel regolatore PID. |
|
| intregx | Long | 0 | R | bit | - | - | Valore dell' uscita integrale asse X È il valore istantaneo dell'uscita integrale nel regolatore PID. |
|
| derregx | Long | 0 | R | bit | - | - | Valore dell' uscita derivativa asse X È il valore istantaneo dell'uscita derivativa nel regolatore PID. |
|
| deltax | Long | 0 | RW | Um | -999999÷999999 | - | Variazione della posizione attuale dell'asse X per l'utilizzo del comando DELCNT È il valore che viene sommato alla posizione attuale quando viene inviato un comando DELCNTX. |
|
| errcodex | Byte | 0 | R | - | 0÷100 | - | Codice di identificazione errore asse X Indica il tipo di errore intervenuto nel sistema. Quando st_errorx = 1 si trova presente sulla variabile errcodex il tipo di errore intervenuto e nella variabile errvaluex una indicazione sulla causa dell'errore. Se il device va in errore, per riprendere la lavorazione bisogna cancellare lo stato st_errorx attraverso il comando RSERRX. |
|
| errvaluex | Byte | 0 | R | - | 0÷100 | - | Codice di identificazione della causa dell'errore asse X Indica la causa dell'errore intervenuto nel sistema. Il codice è valido solo se st_error = 1. |
|
| wrncodex | Byte | 0 | R | - | 0÷100 | - | Codice di identificazione warning asse X Indica il tipo di warning intervenuto nel sistema. Lo stato st_warningx indica un evento non grave che garantisce comunque il funzionamento del device. Quando st_warningx è uguale a 1, troviamo presente sulla variabile wrncodex il tipo di warning intervenuto e nella variabile wrnvaluex una indicazione sulla causa che ha provocato il warning. Per cancellare lo stato st_warningx bisogna inviare il comando RSWRNX. |
|
| wrnvaluex | Byte | 0 | R | - | 0÷100 | - | Codice di identificazione della causa del warning asse X Indica la causa del warning intervenuto nel sistema. |
|
ATTENZIONE: L'ultima lettera del nome della variabile, prende il valore del nome dell'asse.
Vedi paragrafo Parametri asse X
Vedi paragrafo Parametri asse X
| Nome | Valore di default | Descrizione |
|---|---|---|
| st_init | 0 | Stato di inizializzazione Segnalazione di device inizializzato: 0: device non inizializzato, 1: device inizializzato |
| st_ipolar | 0 | Stato di interpolazione in corso Interpolazione in corso: 0: interpolazione non in corso, 1: interpolazione in corso |
| st_rvel | 0 | Stato di riduzione della velocità in interpolazione Quando questo flag vale 1, indica che è avvenuta una riduzione di velocità d'interpolazione per fare rientrare le velocità degli assi entro i limiti stabiliti dai parametri mxrlvelASSE. Lo stato rimane attivo almeno per un tempo di 200 msec. |
| st_undsp | 0 | Tratto in interpolazione eseguito senza raggiungere la velocità impostata Quando questo flag è a 1, indica che il tratto è stato eseguito senza raggiungere la velocità impostata. |
| st_error | 0 | Presenza di un errore Indica lo stato di errore del device, per riconoscere il tipo di errore si deve far riferimento alle variabili errcode ed errvalue: 0: errore non presente, 1: errore presente |
| st_warning | 0 | Presenza di un warning Indica lo stato di warning del device, per riconoscere il tipo di warning si deve far riferimento alle variabili wrncode e wrnalue: 0: warning non presente, 1: warning presente |
| st_out0X | 0 | Stato dell'uscita OUT0X Segnala lo stato dell'uscita OUT0X (dove X=1÷4): 0: uscita disattiva, 1: uscita attiva. |
| Nome | Valore di default | Descrizione |
|---|---|---|
| st_emrgx | 0 | Stato di emergenza asse X Segnalazione di asse X in emergenza: 0: asse X non in emergenza, 1: asse X in emergenza |
| st_tollx | 0 | Stato di tolleranza asse X Segnalazione di asse X in tolleranza rispetto alla quota di posizionamento impostata. La segnalazione di asse in tolleranza può essere ritardata tramite il parametro toldlyx 0: asse X non in tolleranza, 1: asse X in tolleranza |
| st_prsokx | 0 | Esito della funzione di homing asse X Questo stato indica se la funzione di homing per l'asse X è stata conclusa correttamente. I valori sono: 0: funzione non effettuata o non conclusa correttamente, 1: funzione effettuata e conclusa correttamente. |
| st_stillx | 1 | Stato di movimento asse X Segnalazione di asse X fermo: 0: asse in movimento, 1: asse fermo |
| st_prsonx | 0 | Stato della funzione di homing asse X Segnalazione di funzione di homing asse X in corso: 0: funzione non in corso, 1: funzione in corso |
| st_movdirx | 0 | Direzione di movimento asse X Segnalazione della direzione di movimento asse X: 0: avanti, 1: indietro
Nota: |
| st_looponx | 0 | Attivazione reazione di spazio asse X Segnalazione di asse X in reazione di spazio: 0: asse non in reazione di spazio, 1: asse in reazione di spazio |
| st_follerx | 0 | Stato di errore d'inseguimento asse X Segnalazione di asse X in errore d'inseguimento. Questo stato quando commuta da 0 a 1, rimane tale per un periodo minimo di 500 ms. 0: asse non in errore d'inseguimento, 1: asse in errore d'inseguimento |
| st_regoffx | 0 | Disattivazione aggiornamento uscita analogica asse X Stato che segnala se l'aggiornamento dell'uscita analogica è disabilitato 0: la regolazione è attivata, 1: la regolazione è disattivata. |
| st_calx | 0 | Stato di calibrazione Segnalazione di device in calibrazione dell'asse X (può essere regolata la tensione in uscita): 0: generatore di tensione disattivo, 1: generatore di tensione attivo |
| st_cntlockx | Ritentivo | Stato di aggiornamento posizione asse X disabilitato Segnalazione di aggiornamento posizione asse X bloccato: 0: aggiornamento posizione abilitato, 1: aggiornamento posizione disabilitato |
| st_cntrevx | Ritentivo | Stato di inversione aggiornamento posizione asse X Segnalazione di aggiornamento posizione asse X invertito: 0: aggiornamento posizione non invertito, 1: aggiornamento posizione invertito |
| st_accx | 0 | Stato di accelerazione asse X Segnalazione di asse X in fase di accelerazione: 0: asse non in accelerazione, 1: asse in accelerazione |
| st_decx | 0 | Stato di decelerazione asse X Segnalazione di asse X in fase di decelerazione: 0: asse non in decelerazione, 1: asse in decelerazione |
| st_vconstx | 0 | Stato di velocità costante asse X Segnala che il generatore di profilo velocità sta eseguendo un movimento a velocità costante: 0: asse non in velocità costante, 1: asse in velocità costante |
| st_intx | 0 | Attivazione di un ingresso digitale per interruzione asse X Indica lo stato dell'ingresso digitale per interruzione: 0: ingresso digitale per interruzione disattivo, 1: ingresso digitale per interruzione attivo |
| st_errorx | 0 | Presenza di un errore asse X Indica lo stato di errore del device, per riconoscere il tipo di errore si deve far riferimento alle variabili errcodex ed errvaluex: 0: errore non presente, 1: errore presente |
| st_warningx | 0 | Presenza di un warning asse X Indica lo stato di warning del device, per riconoscere il tipo di warning si deve far riferimento alle variabili wrncodex e wrnaluex: 0: warning non presente, 1: warning presente |
ATTENZIONE: L'ultima lettera del nome della variabile, prende il valore del nome dell'asse.
Vedi paragrafo Stati Asse X
Vedi paragrafo Stati Asse X
| Nome | Condizione | Descrizione |
|---|---|---|
| INIT | st_init=0 | Inizializzazione del device Comando di inizializzazione del device. Se il device non è inizializzato non vengono eseguiti i calcoli relativi all'asse e quindi rimane inattivo. Attiva lo stato st_init. |
| RSERR | - | Reset dello stato di errore Azzera lo stato st_error. |
| RSWRN | - | Reset dello stato di warning Azzera lo stato st_warning. |
| READSTEP | - | Lettura dei passi Consente la lettura dei passi numstep a partire dal passo selezionato in stepin.
Nota: |
| WRITESTEP | - | Scrittura dei passi Consente la scrittura dei passi numstep a partire dal passo selezionato in stepin.
Nota: |
| STARTI | st_init = 1, st_ipolar = 0 | Comando di start singola interpolazione Esegue l'interpolazione lineare delle quote descritte in setposx, setposy ed setposz a seconda del numero di assi abilitati. La velocitá di interpolazione è setveli. |
| STARTPRG | st_init = 1, st_ipolar = 0, 0⇐stepbeg<30000, 0<stepend<30000 | Comando di start programma interpolazioni Inizia il posizionamento alle coordinate impostate con interpolazione a partire dal passo stepbeg (compreso) fino a stepend (compreso). La velocitá di interpolazione è setveli. |
| STOPI | st_init = 1, st_ipolar = 0 | Interruzione interpolazione Interrompe l'entuale posizionamento in interpolazione in corso. L'arresto degli assi avviene con rampa di decelerazione e gli assi rimangono in reazione di spazio. |
| Nome | Condizione | Descrizione | |
|---|---|---|---|
| EMRGX | st_init=1 | Comando di emergenza Pone in emergenza l'asse X interrompendo, senza rampa di decelerazione, l'eventuale posizionamento in corso. Viene inoltre disabilitata la reazione di spazio dell'asse. Come conseguenza st_emrgx viene posto ad 1, in questo stato non sarà possibile movimentare l'asse. | |
| RESUMEX | st_init=1, st_emrgx=1 | Ripristino dalla condizione di emergenza dell'asse X Ripristino dalla condizione di emergenza dell'asse X, viene riabilitata la reazione di spazio se disabilitata. All'acquisizione del comando STARTX, l'asse riprende il posizionamento. | |
| STARTX | st_init=1, st_regoffx=0, st_emrgx=0, st_stillx=1, st_ipolar=0, st_calx=0, st_prsonx=0 | Inizio del posizionamento asse X Comanda il posizionamento dell'asse X alla quota setposx e velocità setvelx, il posizionamento verrà eseguito seguendo le rampe di accelerazione e decelerazione che sono state impostate tramite il parametro taccdecx oppure attraverso i parametri taccx e tdecx (nel caso di rampe differenziate). Il tipo di rampa utilizzata (trapezoidale o epicicloidale) è scelta tramite il parametro ramptypex. | |
| STOPX | st_init=1, st_regoffx=0, st_emrgx=0, st_stillx=0, st_ipolar=0 | Interruzione del posizionamento dell'asse X Interrompe l'eventuale posizionamento in corso dell'asse X. L'arresto dell'asse avviene seguendo la rampa di decelerazione programmata con tdecx. L'asse rimane in reazione di spazio. | |
| LOOPONX | st_init=1 | Abilitazione della reazione di spazio dell'asse X Abilita la reazione di spazio dell'asse X: di conseguenza st_looponx viene posto a 1 e l'asse viene movimentato utilizzando tutte le funzionalità del regolatore PID. L'uscita analogica contrasta ogni azione esterna che tenti di spostare l'asse dalla posizione raggiunta (deriva, operatore, …). Questa azione azzera l'eventuale errore di inseguimento (follerrx). | |
| LOOPOFFX | st_init=1 | Disattivazione della reazione di spazio dell'asse X Disabilita la reazione di spazio dell'asse X. Lo stato st_looponx viene posto a 0: in tale stato l'asse accetta comunque i comandi di movimentazione asse. Un posizionamento fatto senza loop di reazione è paragonabile ad un posizionamento eseguito senza guadagno proporzionale (non viene garantito l'arrivo in posizione). | |
| CNTLOCKX | st_init=1 | Disabilita l'aggiornamento della posizione attuale dell'asse X Disabilita l'aggiornamento della posizione attuale. In questa situazione l'eventuale spostamento dell'asse non viene rilevato. | |
| CNTUNLOCKX | st_init=1 | Abilita l'aggiornamento della posizione attuale dell'asse X Abilita l'aggiornamento della posizione attuale. | |
| CNTREVX | st_init=1 | Inversione dell'aggiornamento posizione asse X Consente di invertire il segno dell'aggiornamento posizione. | |
| CNTDIRX | st_init=1 | Aggiornamento posizione asse X non invertita Disabilita una eventuale inversione dell'aggiornamento posizione; lo stato st_cntrev è posto a zero. | |
| PRESETX | st_init=1, st_regoffx=0, st_emrgx=0, st_calx=0, st_ipolar=0 | Avvio della funzione di homing asse X Viene avviata la funzione di homing asse X con le modalità impostate. Se la procedura è già in esecuzione, il comando esegue l'inversione del senso di ricerca. Attiva lo stato st_prsonx e disattiva lo stato st_prsokx. | |
| CALONX | st_init=1, st_ipolar=0, st_prsonx=0, st_stillx=1 | Abilita lo stato di calibrazione asse X L'uscita analogica asse X viene impiegata come generatore di tensione; in questo caso non è possibile usarla per effettuare un posizionamento. Il valore in uscita è impostabile tramite il parametro voutx. | |
| CALOFFX | st_init=1, st_ipolar=0, st_prsonx=0, st_stillx=1, st_calx=1 | Disabilita lo stato di calibrazione asse X L'uscita analogica asse X non viene più utilizzata come generatore di tensione, perciò può essere utilizzata per la gestione di posizionamenti. | |
| MANFWX | st_init=1, st_regoffx=0, st_prsonx=0, st_stillx=1, st_calx=0, st_emrgx=0, st_ipolar=0, st_ovrmxpx=0 | Comando manuale di movimento avanti asse X (jog) Comanda il posizionamento manuale in avanti (verso maxposx) alla velocità impostata dell'asse X. Se la posizione attuale supera maxposx, l'asse non si sposterà. | |
| MANBW | st_init=1, st_regoffx=0, st_prsonx=0, st_stillx=1, st_calx=0, st_emrgx=0, st_ipolar=0, st_undmnpx=0 | Comando manuale di movimento indietro asse X (jog) Comanda il posizionamento manuale all'indietro (verso minposx) alla velocità impostata dell'asse X. Se la posizione attuale è inferiore a minpoxs, l'asse non si sposterà. | |
| REGOFFX | st_init=1, st_stillx=1 | Disabilitazione dell'intervento del device per l'asse X Disabilita la regolazione e l'aggiornamento dell'uscita analogica dell'asse X, nonché tutti i comandi di movimento. | |
| REGONX | st_init=1, st_regoffx=1 | Abilitazione dell'intervento del device per l'asse X Riabilita la regolazione e l'aggiornamento dell'uscita analogica dell'asse X, nonché tutti i comandi di movimento. | |
| DELCNTX | st_initx=1, st_calx=0, st_prsonx=0 | Comando di modifica di positx di un valore pari a deltax La posizione attuale (positx) viene modificata sommandogli algebricamente il valore specificato nella variabile deltax. Questo comando può essere dato sempre, tranne nel caso in cui, con l'asse in movimento, il comando farebbe invertire la direzione. Nel caso di utilizzo di rampe di decelerazione epicicloidali non è possibile dare il comando se st_decx=1. | |
| RSERRX | Reset dello stato di errore asse X | st_errorx=1 | Comando di modifica di positx di un valore pari a deltax Azzera lo stato st_errorx. |
| RSWRNX | st_warningx=1 | Reset dello stato di warning asse X Azzera lo stato st_warningx. | |
| RSPRSOKX | st_init=1, st_prsonx=0 | Reset dello stato di homing OK per l'asse X Azzera lo stato st_prsokx. |
ATTENZIONE: L'ultima lettera del nome della variabile, prende il valore del nome dell'asse.
Vedi paragrafo Comandi asse X.
Vedi paragrafo Comandi asse X.